package com.hlkj.pay.dto.merchant;

import com.hlkj.framework.common.util.json.JsonUtils;
import com.hlkj.pay.enums.PayEnums;
import com.hlkj.pay.vo.BaseReq;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.List;

/**
* 商户场景信息表
* @TableName t_merchant_access_scence
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class MerchantAccessScene extends BaseReq {
    /**
     * 场景app类型
     * @see PayEnums.SCENE_SUB_TYPE
     */
    @Schema(description ="1:网页端 2:手机端 3:线下")
    private Integer type;
    /**
     * 场景app类型
     * @see PayEnums.SCENE_SUB_TYPE
     */
    @Schema(description ="网页端 0:非主体备案 1:主体备案，手机端 2:app，3:h5 4:微信小程序/公众号 5:支付宝生活号/小程序")
    private Integer subType;
    
    /**
     * 备案主体类型
     */
    @Schema(description ="名称 or 备案主体名称")
    private String name;
    /**
     * 应用说明
     */
    @Schema(description ="应用说明")
    private String desc;
    /**
     * 备案主体类型
     */
    @Schema(description ="appId")
    private String appId;
    
    /**
     * 非主体备案授权书
     */
    @Schema(description ="非主体备案授权书")
    private String authUrl;
    /**
     * 非主体备案授权书
     */
    @Schema(description ="微信 支付宝 mcc 字典接口通过 dictKey=mccWechat/mccAlipay 获取")
    private String mcc;
    
    /**
     * 其他附件
     */
    @Schema(description ="其他文件")
    private List<String> fileUrls;
    /**
     * 法人手持身份证与门头合影
     */
    @Schema(description = "法人手持身份证与门头合影")
    private String legalStoreHeaderUrl;
    
    /**
     * 商户主页URL
     */
    @Schema(description ="商户主页URL")
    private String webUrl;
    /**
     * 商户ICP备案编号
     */
    @Schema(description ="商户ICP备案编号")
    private String icp;

    @Schema(description ="城市编码")
    private String cityCode;

    @Schema(description ="线下场所地址")
    private String address;

    public static void main(String[] args) {
        MerchantAccessScene scene = new MerchantAccessScene();
        scene.setType(1);
        scene.setSubType(1);
        scene.setName("湖北汇联科技有限公司");
        // scene.setDesc();
        // scene.setAppId();
        // scene.setAuthUrl();
        // scene.setMcc();
        // scene.setFileUrls();
        // scene.setLegalStoreHeaderUrl();
        scene.setWebUrl("https://www.hbhlpay.com/");
        scene.setIcp("鄂ICP备2023018773号-1");
        System.out.println(JsonUtils.toJsonStringNotNull(scene));

    }
}
